Language support in fonts 字型的語言支援

每種書寫語言都具有獨特字符集。使用者介面支援多語言時,排版方案需相應調整。

文字系統是多語言共用的字元組合。例如,英語、法語、德語等雖為不同語言,但都使用拉丁文系統。其他系統包括希臘文、西里爾文、阿拉伯文、韓文、泰文、非洲文字、天城文和孟加拉文,以及中日文等使用的漢字。

Typefaces:EB Garamond,Roboto Slab,Comfortaa,Open Sans,Noto Serif, Noto Sans

即使使用相同的字形的語言之間,詞長也可能有很大差異,比如英語和德語。

字型:本文及後續插圖均使用Noto Sans字型。

相比其他歐洲語言,英語通常更為簡短。例如,德語中包含許多複合詞,這些詞往往較長,因此可能需要更多行數或不同的行間距設定。

Alignment & direction 文字排列方向

某些書寫系統(如阿拉伯語和希伯來語)的文字是從右向左顯示的。

對於從右向左閱讀(RTL)的語言,如阿拉伯語和希伯來語,使用者介面需要進行映象處理,以確保內容易於理解。

Height 高度

許多書寫系統需要更大的垂直空間,使用者介面須預留足夠高度。如越南語雖用拉丁字母,但聲調符號會增加高度,例如"Ớ"

Vertical typesetting 豎排文字

豎排文字雖然使用較少,但它能夠將文字垂直排列展示,而不是傳統的水平排列方式。

中國、日本和韓國的文字通常採用等寬字型,即每個字元佔據相同的空間。這些文字既可以從左到右、從上到下橫排,也可以從上到下、從右到左豎排。

上圖:文字從左到右、從上到下排列。下圖:文字從上到下、從右到左豎排。

為了便於國際化,Google將語言分為三類:拉丁文及類似文字、高字型和密集文字。

拉丁文及類似文字:西歐、中歐、東歐和非洲大部分地區的語言通常使用拉丁文書寫系統。值得注意的是,越南語雖然使用改良的拉丁文書寫系統,但其重音符號使字形比西歐語言更高。希臘文和西里爾文的書寫系統在垂直比例上與拉丁文非常相似。

高字型:這類文字需要更大的行高來容納較大的字形,包括南亞、東南亞和中東地區的語言,如阿拉伯語、印地語、泰盧固語、泰語和越南語。

密集文字:這類文字與"高字型"類似,也需要更大的行高來容納較大的字形,但還需要考慮到中文、日文和韓文等語言中更高的字元密度。

Noto 字型系統

在Android系統中,Noto字型是Roboto字型不支援語言的預設字型。它在各種語言系統間保持視覺統一,具有匹配的字高和筆畫,覆蓋超過150種Unicode書寫系統。Noto的中日韓(CJK)字型提供七種字重,與Roboto字型相匹配。

在中日韓文字中,行高略大於拉丁字母。

Tall script considerations 高字型考慮事項

Noto字型支援南亞、東南亞和中東地區的高字型,如阿拉伯語、印地語和泰語。推薦使用Regular字重,因Noto不提供Medium選項。

在泰語和天城文中,高字型的行高略大於拉丁字元。

Language categories referencelink 語言類別參考連結

CodeDescriptionCategory
afAfrikaansLatin or Latin-like
amAmharicLatin or Latin-like
arArabic (Modern Standard)Tall
azAzerbaijaniLatin or Latin-like
bgBulgarianLatin or Latin-like
bnBengaliTall
caCatalanLatin or Latin-like
csCzechLatin or Latin-like
cyWelshLatin or Latin-like
daDanishLatin or Latin-like
deGermanLatin or Latin-like
elGreekLatin or Latin-like
enEnglish (US)Latin or Latin-like
en-GBEnglish (UK)Latin or Latin-like
esSpanish (European)Latin or Latin-like
es-419Spanish (Latin American)Latin or Latin-like
etEstonianLatin or Latin-like
euBasqueLatin or Latin-like
faPersianTall
fiFinnishLatin or Latin-like
filFilipinoLatin or Latin-like
frFrench (European)Latin or Latin-like
fr-CAFrench (Canadian)Latin or Latin-like
glGalicianLatin or Latin-like
guGujaratiTall
hiHindiTall
hrCroatianLatin or Latin-like
huHungarianLatin or Latin-like
hyArmenianLatin or Latin-like
idIndonesianLatin or Latin-like
isIcelandicLatin or Latin-like
itItalianLatin or Latin-like
iwHebrewLatin or Latin-like
jaJapaneseDense
kaGeorgianLatin or Latin-like
kkKazakhLatin or Latin-like
kmKhmerTall
knKannadaTall
koKoreanDense
kyKirghizLatin or Latin-like
loLaoLatin or Latin-like
ltLithuanianLatin or Latin-like
lvLatvianLatin or Latin-like
mkMacedonianLatin or Latin-like
mlMalayalamTall
mnMongolianLatin or Latin-like
mrMarathiTall
msMalayLatin or Latin-like
myBurmese (Myanmar)Tall
neNepaliTall
nlDutchLatin or Latin-like
noNorwegian (Bokmål)Latin or Latin-like
paPunjabiTall
plPolishLatin or Latin-like
ptPortuguese (Brazilian)Latin or Latin-like
pt-PTPortuguese (European)Latin or Latin-like
roRomanianLatin or Latin-like
ruRussianLatin or Latin-like
siSinhalaTall
skSlovakLatin or Latin-like
slSlovenianLatin or Latin-like
sqAlbanianLatin or Latin-like
srSerbian (Cyrillic)Latin or Latin-like
sr-LatnSerbian (Latin)Latin or Latin-like
svSwedishLatin or Latin-like
swSwahiliLatin or Latin-like
taTamilTall
teTeluguTall
thThaiTall
trTurkishLatin or Latin-like
ukUkrainianLatin or Latin-like
urUrduTall
uzUzbekLatin or Latin-like
viVietnameseTall
zh-HansChinese (Simplified)Dense
zh-HantChinese (Traditional)Dense
zuZuluLatin or Latin-like